package basic;

import java.util.HashMap;
import java.util.Map;

public abstract class Bike extends MainClass {

    private static int currId = 0;
    private String model;
    private boolean needService = false;
    private int wheelSize;
    protected int mileage;
    protected int serviceCount; // how many services had already been done

    public Map<Integer, DateClass> reservations = new HashMap<>(); 
  
    protected static int getCurrId() {
        return ++currId;  // while getting currId it is automaticly incremented
    }

    public String getModel() {
        return model;
    }

    public void setModel(String model) {
        this.model = model;
    }

    public boolean isNeedService() {
        return needService;
    }

    public void setNeedService(boolean needService) {
        this.needService = needService;
    }

    public int getWheelSize() {
        return wheelSize;
    }

    public void setWheelSize(int wheelSize) {
        this.wheelSize = wheelSize;
    }

    public int getMileage() {
        return mileage;
    }

    public int getServiceCount() {
        return this.serviceCount;
    }

    public abstract void changeMileage(int k);

    public abstract int getPpd();

    public abstract int getMaxDist();

    @Override
    public abstract String toString();

}
